package org.jeecg.modules.power.order.service;


import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.power.order.entity.YlPowerBankOrder;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Description: 租借充电宝订单
 * @Author: jeecg-boot
 * @Date:   2024-07-22
 * @Version: V1.0
 */
public interface IYlPowerBankOrderService extends IService<YlPowerBankOrder> {

    /**
     * 后台首页租借订单统计
     * @param type 1今日、2昨日、3本周、4本月   0全部
     * @return
     */
    Map<String, Object> getHomePowerBankOrder(List<String> userIds, int type);


    /**
     * APP运营端-收益页-2级页面-门店收益-门店设备收益
     * @param shopId 店铺id
     * @param dayStart 开始时间
     * @param dayEnd 结束时间
     * @return
     */
    Map<String, Object>   getTwoShopIncomeOrder(String shopId,String dayStart,String dayEnd);



    /**
     *  APP运营端-收益页-2级页面-门店设备收益
     * @param userIds 业务员
     * @param shopId 店铺id
     * @param categoryId 设备类型id
     * @param type 1今日、2昨日、3本周、4本月   0全部
     * @return
     */
   List<Map<String, Object>>  getTwoShopDeviceOrder(List<String> userIds,String shopId,String categoryId,int type);

    /**
     * app首页租借订单统计 收益
     * @param type 1今日、2昨日、3本周、4本月   0全部
     * @return
     */
    Map<String, Object> getAppPowerBankOrderIncome(List<String> userIds, int type);

    /**
     * APP运营端-首页租借订单统计数量
     * @param userIds 请求用户id
     * @param type 1今日、2昨日、3本周、4本月   0全部
     * @return
     */
    Map<String, Object> getHomePowerBankOrderQuantity(List<String> userIds, int type);


    /**
     * APP运营端-首页租借订单统计数量 根据日期
     * @param userIds
     * @param day  日期
     * @param type 1 今日下单  2归还充电宝
     * @return
     */
    Map<String, Object> getDayOrderQuantity(List<String> userIds, String day,int type);


    /**
     * 获取最新更新时间 给前端接口用
     * @param userIds
     * @return
     */
    YlPowerBankOrder getMaxPowerBankOrder(List<String> userIds);





    //

    /**
     * 给前端用 获取 时间范围数据  折线图 30天
     * 首页租借收益订单折线图
     * @param dayStart 开始时间
     * @param dayEnd  结束时间
     * @return
     */
    List<Map<String,Object>>getPowerBankOrderOrderDayList(List<String> userIds,Date dayStart,Date dayEnd);





    /**
     * 给前端用 获取 时间范围数据  折线图 6个月
     * 首页租借收益订单折线图
     * @param dayStart 开始时间
     * @param dayEnd  结束时间
     * @return
     */
    List<Map<String,Object>>getPowerBankOrderOrderYueList(List<String> userIds,Date dayStart,Date dayEnd);


    /**
     * APP运营端首页-求出订单硬件问题 统计 正常下单数量
     * @param mac mac
     * @param type 1今日、2昨日、3本周、4本月   0全部
     * @return
     */
    Integer getProblemOrderAndBankOrderOrderQuantity(String mac, int type);


}
